home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 24 / CU Amiga Magazine's Super CD-ROM 24 (1998)(EMAP Images)(GB)(Track 1 of 2)[!][issue 1998-07].iso / CUCD / Utilities / vim-5.1 / syntax / inform.vim < prev    next >
Encoding:
Text File  |  1998-03-31  |  12.4 KB  |  328 lines

  1. " Vim syntax file
  2. " Language: Inform
  3. " Maintainer: Stephen Thomas (stephent@isltd.insignia.com)
  4. " Last change: 1998 March 27th
  5.  
  6. " Remove any old syntax stuff hanging around
  7. syn clear
  8.  
  9. " A bunch of useful Inform keywords.  First, case insensitive stuff
  10.  
  11. syn case ignore
  12.  
  13. syn keyword informDefine Constant
  14.  
  15. syn keyword informType Array Attribute Class Global Nearby
  16. syn keyword informType Object Property
  17.  
  18. syn keyword informInclude Import Include Link Replace System_file
  19.  
  20. syn keyword informPreCondit End Ifdef Ifndef Iftrue Iffalse Ifv3 Ifv5
  21.  
  22. syn keyword informPreProc Abbreviate Default Extend Fake_action Lowstring
  23. syn keyword informPreProc Message Release Serial Statusline Stub Switches
  24. syn keyword informPreProc Trace Verb Zcharacter
  25.  
  26. " Now the case sensitive stuff.
  27.  
  28. syntax case match
  29.  
  30. " Assembly language mnemonics must be preceded by a '@'.
  31.  
  32. syn match informAsm "@\s*je"
  33. syn match informAsm "@\s*jl"
  34. syn match informAsm "@\s*jg"
  35. syn match informAsm "@\s*dec_chk"
  36. syn match informAsm "@\s*inc_chk"
  37. syn match informAsm "@\s*jin"
  38. syn match informAsm "@\s*test"
  39. syn match informAsm "@\s*or"
  40. syn match informAsm "@\s*and"
  41. syn match informAsm "@\s*test_attr"
  42. syn match informAsm "@\s*set_attr"
  43. syn match informAsm "@\s*clear_attr"
  44. syn match informAsm "@\s*store"
  45. syn match informAsm "@\s*insert_obj"
  46. syn match informAsm "@\s*loadw"
  47. syn match informAsm "@\s*loadb"
  48. syn match informAsm "@\s*get_prop"
  49. syn match informAsm "@\s*get_prop_addr"
  50. syn match informAsm "@\s*get_next_prop"
  51. syn match informAsm "@\s*add"
  52. syn match informAsm "@\s*sub"
  53. syn match informAsm "@\s*mul"
  54. syn match informAsm "@\s*div"
  55. syn match informAsm "@\s*mod"
  56. syn match informAsm "@\s*call"
  57. syn match informAsm "@\s*storew"
  58. syn match informAsm "@\s*storeb"
  59. syn match informAsm "@\s*put_prop"
  60. syn match informAsm "@\s*sread"
  61. syn match informAsm "@\s*print_char"
  62. syn match informAsm "@\s*print_num"
  63. syn match informAsm "@\s*random"
  64. syn match informAsm "@\s*push"
  65. syn match informAsm "@\s*pull"
  66. syn match informAsm "@\s*split_window"
  67. syn match informAsm "@\s*set_window"
  68. syn match informAsm "@\s*output_stream"
  69. syn match informAsm "@\s*input_stream"
  70. syn match informAsm "@\s*sound_effect"
  71. syn match informAsm "@\s*jz"
  72. syn match informAsm "@\s*get_sibling"
  73. syn match informAsm "@\s*get_child"
  74. syn match informAsm "@\s*get_parent"
  75. syn match informAsm "@\s*get_prop_len"
  76. syn match informAsm "@\s*inc"
  77. syn match informAsm "@\s*dec"
  78. syn match informAsm "@\s*print_addr"
  79. syn match informAsm "@\s*remove_obj"
  80. syn match informAsm "@\s*print_obj"
  81. syn match informAsm "@\s*ret"
  82. syn match informAsm "@\s*jump"
  83. syn match informAsm "@\s*print_paddr"
  84. syn match informAsm "@\s*load"
  85. syn match informAsm "@\s*not"
  86. syn match informAsm "@\s*rtrue"
  87. syn match informAsm "@\s*rfalse"
  88. syn match informAsm "@\s*print"
  89. syn match informAsm "@\s*print_ret"
  90. syn match informAsm "@\s*nop"
  91. syn match informAsm "@\s*save"
  92. syn match informAsm "@\s*restore"
  93. syn match informAsm "@\s*restart"
  94. syn match informAsm "@\s*ret_popped"
  95. syn match informAsm "@\s*pop"
  96. syn match informAsm "@\s*quit"
  97. syn match informAsm "@\s*new_line"
  98. syn match informAsm "@\s*show_status"
  99. syn match informAsm "@\s*verify"
  100. syn match informAsm "@\s*call_2s"
  101. syn match informAsm "@\s*call_vs"
  102. syn match informAsm "@\s*aread"
  103. syn match informAsm "@\s*call_vs2"
  104. syn match informAsm "@\s*erase_window"
  105. syn match informAsm "@\s*erase_line"
  106. syn match informAsm "@\s*set_cursor"
  107. syn match informAsm "@\s*get_cursor"
  108. syn match informAsm "@\s*set_text_style"
  109. syn match informAsm "@\s*buffer_mode"
  110. syn match informAsm "@\s*read_char"
  111. syn match informAsm "@\s*scan_table"
  112. syn match informAsm "@\s*call_1s"
  113. syn match informAsm "@\s*call_2n"
  114. syn match informAsm "@\s*set_colour"
  115. syn match informAsm "@\s*throw"
  116. syn match informAsm "@\s*call_vn"
  117. syn match informAsm "@\s*call_vn2"
  118. syn match informAsm "@\s*tokenise"
  119. syn match informAsm "@\s*encode_text"
  120. syn match informAsm "@\s*copy_table"
  121. syn match informAsm "@\s*print_table"
  122. syn match informAsm "@\s*check_arg_count"
  123. syn match informAsm "@\s*call_1n"
  124. syn match informAsm "@\s*catch"
  125. syn match informAsm "@\s*piracy"
  126. syn match informAsm "@\s*log_shift"
  127. syn match informAsm "@\s*art_shift"
  128. syn match informAsm "@\s*set_font"
  129. syn match informAsm "@\s*save_undo"
  130. syn match informAsm "@\s*restore_undo"
  131. syn match informAsm "@\s*draw_picture"
  132. syn match informAsm "@\s*picture_data"
  133. syn match informAsm "@\s*erase_picture"
  134. syn match informAsm "@\s*set_margins"
  135. syn match informAsm "@\s*move_window"
  136. syn match informAsm "@\s*window_size"
  137. syn match informAsm "@\s*window_style"
  138. syn match informAsm "@\s*get_wind_prop"
  139. syn match informAsm "@\s*scroll_window"
  140. syn match informAsm "@\s*pop_stack"
  141. syn match informAsm "@\s*read_mouse"
  142. syn match informAsm "@\s*mouse_window"
  143. syn match informAsm "@\s*push_stack"
  144. syn match informAsm "@\s*put_wind_prop"
  145. syn match informAsm "@\s*print_form"
  146. syn match informAsm "@\s*make_menu"
  147. syn match informAsm "@\s*picture_table"
  148.  
  149. syn keyword informPredicate contained has hasnt in notin ofclass or
  150. syn keyword informPredicate contained provides
  151.  
  152. syn keyword informPrintSpec contained char string address name a an the The
  153. syn keyword informPrintSpec contained property object
  154.  
  155. syn keyword informSysFunc child children elder indirect parent random
  156. syn keyword informSysFunc sibling younger youngest metaclass
  157.  
  158. syn keyword informSysConst adjectives_table actions_table classes_table
  159. syn keyword informSysConst identifiers_table preactions_table version_number
  160. syn keyword informSysConst largest_object strings_offset code_offset
  161. syn keyword informSysConst dict_par1 dict_par2 dict_par3
  162.  
  163. syn keyword informConditional default else if switch
  164.  
  165. syn keyword informRepeat break continue do for objectloop until while
  166.  
  167. syn keyword informStatement box font give inversion jump move new_line
  168. syn keyword informStatement print print_ret quit read remove restore return
  169. syn keyword informStatement rfalse rtrue save spaces string style
  170.  
  171. syn keyword informOperator number roman reverse bold
  172. syn keyword informOperator underline fixed on off to
  173. syn keyword informOperator near from
  174.  
  175. syn keyword informKeyword dictionary symbols objects verbs assembly
  176. syn keyword informKeyword expressions lines tokens linker on off alias long
  177. syn keyword informKeyword additive score time noun held multi multiheld
  178. syn keyword informKeyword multiexcept multiinside creature special number
  179. syn keyword informKeyword scope topic reverse meta only replace first last
  180. syn keyword informKeyword string table data initial initstr with private has
  181. syn keyword informKeyword class error fatalerror warning self
  182.  
  183. syn keyword informMetaAttrib remaining create destroy recreate copy call
  184.  
  185. if !exists("inform_highlight_simple")
  186.   syn keyword informLibAttrib absent animate clothing concealed container
  187.   syn keyword informLibAttrib door edible enterable female general light
  188.   syn keyword informLibAttrib lockable locked male moved neuter on open
  189.   syn keyword informLibAttrib openable pluralname proper scenery scored
  190.   syn keyword informLibAttrib static supporter switchable talkable
  191.   syn keyword informLibAttrib visited workflag worn
  192.   syn match informLibAttrib "\<transparent\>"
  193.  
  194.   syn keyword informLibProp e_to se_to s_to sw_to w_to nw_to n_to ne_to
  195.   syn keyword informLibProp u_to d_to in_to out_to before after life
  196.   syn keyword informLibProp door_to with_key door_dir invent plural
  197.   syn keyword informLibProp add_to_scope list_together react_before
  198.   syn keyword informLibProp react_after grammar orders initial when_open
  199.   syn keyword informLibProp when_closed when_on when_off description
  200.   syn keyword informLibProp describe article cant_go found_in time_left
  201.   syn keyword informLibProp number time_out daemon each_turn capacity
  202.   syn keyword informLibProp name short_name short_name_indef parse_name
  203.   syn keyword informLibProp articles inside_description
  204.  
  205.   syn keyword informLibObj e_obj se_obj s_obj sw_obj w_obj nw_obj n_obj
  206.   syn keyword informLibObj ne_obj u_obj d_obj in_obj out_obj compass
  207.   syn keyword informLibObj thedark selfobj player location
  208.  
  209.   syn keyword informLibRoutine Achieved AddToScope AllowPushDir CDefArt
  210.   syn keyword informLibRoutine ChangeDefault ChangePlayer DefArt DoMenu
  211.   syn keyword informLibRoutine EnglishNumber HasLightSource InDefArt
  212.   syn keyword informLibRoutine Locale LoopOverScope NextWord
  213.   syn keyword informLibRoutine NextWordStopped NounDomain OffersLight
  214.   syn keyword informLibRoutine PlaceInScope PlayerTo PrintShortName
  215.   syn keyword informLibRoutine ScopeWithin SetTime StartDaemon StartTimer
  216.   syn keyword informLibRoutine StopDaemon StopTimer TestScope TryNumber
  217.   syn keyword informLibRoutine UnsignedCompare WordAddress WordLength
  218.   syn keyword informLibRoutine WriteListFrom YesOrNo ZRegion RunRoutines
  219.  
  220.   syn keyword informLibAction1a Quit Restart Restore Verify Save ScriptOn
  221.   syn keyword informLibAction1a ScriptOff Pronouns Score Fullscore LMode1
  222.   syn keyword informLibAction1a LMode2 LMode3 NotifyOn NotifyOff Version
  223.   syn keyword informLibAction1a Places Objects
  224.  
  225.   hi link informLibAction1a informLibAction
  226.  
  227.   syn keyword informLibAction1b TraceOn TraceOff TraceLevel ActionsOn
  228.   syn keyword informLibAction1b ActionsOff RoutinesOn RoutinesOff TimersOn
  229.   syn keyword informLibAction1b TimersOff CommandsOn CommandsOff
  230.   syn keyword informLibAction1b CommandsRead Predictable XPurloin XAbstract
  231.   syn keyword informLibAction1b XTree Scope Goto Gonear
  232.  
  233.   hi link informLibAction1b informLibAction
  234.  
  235.   syn keyword informLibAction2 Inv InvTall InvWide Take Drop Remove PutOn
  236.   syn keyword informLibAction2 Insert Transfer Empty Enter Exit GetOff Go
  237.   syn keyword informLibAction2 Goin Look Examine Search Give Show Unlock
  238.   syn keyword informLibAction2 Lock SwitchOn SwitchOff Open Close Disrobe
  239.   syn keyword informLibAction2 Wear Eat
  240.  
  241.   hi link informLibAction2 informLibAction
  242.  
  243.   syn keyword informLibAction3 Yes No Burn Pray Wake WakeOther Consult Kiss
  244.   syn keyword informLibAction3 Think Smell Listen Taste Touch Dig Cut Jump
  245.   syn keyword informLibAction3 JumpOver Tie Drink Fill Sorry Strong Mild
  246.   syn keyword informLibAction3 Attack Swim Swing Blow Rub Set SetTo
  247.   syn keyword informLibAction3 WaveHands Wave Pull Push PushDir Turn
  248.   syn keyword informLibAction3 Squeeze LookUnder ThrowAt Answer Buy Ask
  249.   syn keyword informLibAction3 AskFor Sing Climb Wait Sleep
  250.  
  251.   hi link informLibAction3 informLibAction
  252.  
  253.   syn keyword informLibActionFake LetGo Receive ThrownAt Order TheSame
  254.   syn keyword informLibActionFake PluralFound Miscellany Prompt
  255.  
  256.   hi link informLibActionFake informLibAction
  257.  
  258.   syn keyword informLibVariable second keep_silent deadflag
  259. endif
  260.  
  261. syn keyword informTodo contained TODO
  262.  
  263. " Special character forms.
  264.  
  265. syn match informSpecChar contained "@[''\:c~o^]\|@@[0-9][0-9]*\|@{[0-9]*}\|@.."
  266.  
  267. " String and Character constants
  268. syn region informString start=+"+ skip=+\\\\+ end=+"+ contains=informSpecChar
  269. syn region informDictString start="'" skip="@'" end="'"
  270.  
  271. " Catch errors caused by wrong parenthesis
  272. syn region informParen transparent start='(' end=')' contains=ALLBUT,informParenError,informTodo
  273. syn match informParenError ")"
  274. syn match informInParen contained "[{}]"
  275.  
  276. " Integer numbers: decimal, hexadecimal and binary.
  277. syn match informNumber "\<[0-9]\+\>"
  278. syn match informNumber "\<\$[0-9A-Za-z]\+\>"
  279. syn match informNumber "\<\$\$[01]\+\>"
  280.  
  281. " Comments
  282. syn match informComment "!.*" contains=informTodo
  283.  
  284. " Syncronization
  285. syn sync match informSyncRoutine grouphere NONE "\[\|\]"
  286. syn sync maxlines=500
  287.  
  288. if !exists("did_inform_syntax_inits")
  289.   let did_inform_syntax_inits = 1
  290.   " The default methods for highlighting.  Can be overridden later
  291.   hi link informDefine        Define
  292.   hi link informType        Type
  293.   hi link informInclude        Include
  294.   hi link informPreCondit    PreCondit
  295.   hi link informPreProc        PreProc
  296.   hi link informAsm        Special
  297.   hi link informPredicate    Operator
  298.   hi link informPrintSpec    Operator
  299.   hi link informSysFunc        Identifier
  300.   hi link informSysConst    Identifier
  301.   hi link informConditional    Conditional
  302.   hi link informRepeat        Repeat
  303.   hi link informStatement    Statement
  304.   hi link informOperator    Operator
  305.   hi link informKeyword        Keyword
  306.   hi link informDictString    String
  307.   hi link informNumber        Number
  308.   hi link informError        Error
  309.   hi link informString        String
  310.   hi link informComment        Comment
  311.   hi link informSpecChar    Special
  312.   hi link informTodo        Todo
  313.   if !exists("inform_highlight_simple")
  314.     hi link informLibAttrib    Identifier
  315.     hi link informLibProp    Identifier
  316.     hi link informLibObj    Identifier
  317.     hi link informLibRoutine    Identifier
  318.     hi link informLibVariable    Identifier
  319.     hi link informLibAction    Statement
  320.   endif
  321.   hi link informParenError    informError
  322.   hi link informInParen        informError
  323. endif
  324.  
  325. let current_syntax = "inform"
  326.  
  327. " vim: ts=8
  328.